]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutStd.h
AliRsnCutManager:
[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 AliRsnDaughter;
18 class AliRsnMother;
19 class AliRsnEvent;
20
21 class AliRsnCutStd : public AliRsnCut
22 {
23   public:
24
25     // available cut types
26     // some ones work both for pairs and single tracks
27     enum EType 
28     {
29       kP = 0,
30       kPt,
31       kEta,
32       kY,
33       kThetaDeg,
34       kMult,
35       kPtLeading,
36       kDipAngle,
37       // cut without reference values
38       kCharge,
39       kSameLabel,
40       kPhysPrimary,
41       // last
42       kLastType
43     };
44
45     AliRsnCutStd();
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);
48     virtual ~AliRsnCutStd() { }
49     
50     void           SetMass(Double_t mass) {fMass = mass;}
51     EVarType       CheckType();
52     
53     virtual Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0);
54
55   protected:
56   
57     virtual Bool_t IsDaughterSelected(AliRsnDaughter *daughter);
58     virtual Bool_t IsMotherSelected(AliRsnMother *mother);
59     virtual Bool_t IsEventSelected(AliRsnEvent *event);
60
61     EType     fType;       // cut type
62     Bool_t    fUseMC;      // use or not MC values (when applicable)
63     Double_t  fMass;       // mass hypothesis (used for Y and Mt)
64
65     ClassDef(AliRsnCutStd, 1)
66 };
67
68 #endif