]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutStd.h
Modified some standards, added a cut in pseudo-rapidity
[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       // cut without reference values
37       kCharge,
38       kSameLabel,
39       kPhysPrimary,
40       // last
41       kLastType
42     };
43
44     AliRsnCutStd();
45     AliRsnCutStd(const char *name, ETarget target, EType type, Int_t    val1, Int_t    val2 = 0 , Bool_t useMC = kFALSE);
46     AliRsnCutStd(const char *name, ETarget target, EType type, Double_t val1, Double_t val2 = 0., Bool_t useMC = kFALSE);
47     virtual ~AliRsnCutStd() { }
48     
49     void           SetMass(Double_t mass) {fMass = mass;}
50     EVarType       CheckType();
51     
52     virtual Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0);
53
54   protected:
55   
56     virtual Bool_t IsDaughterSelected(AliRsnDaughter *daughter);
57     virtual Bool_t IsMotherSelected(AliRsnMother *mother);
58     virtual Bool_t IsEventSelected(AliRsnEvent *event);
59
60     EType     fType;       // cut type
61     Bool_t    fUseMC;      // use or not MC values (when applicable)
62     Double_t  fMass;       // mass hypothesis (used for Y and Mt)
63
64     ClassDef(AliRsnCutStd, 1)
65 };
66
67 #endif