2 // Class AliRsnCutRange
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.
8 // authors: Martin Vala (martin.vala@cern.ch)
9 // Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
12 #ifndef ALIRSNCUTSTD_H
13 #define ALIRSNCUTSTD_H
15 #include "AliRsnCut.h"
21 class AliRsnCutStd : public AliRsnCut
25 // available cut types
26 // some ones work both for pairs and single tracks
37 // cut without reference values
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() { }
50 void SetMass(Double_t mass) {fMass = mass;}
53 virtual Bool_t IsSelected(TObject *obj1, TObject *obj2 = 0x0);
57 virtual Bool_t IsDaughterSelected(AliRsnDaughter *daughter);
58 virtual Bool_t IsMotherSelected(AliRsnMother *mother);
59 virtual Bool_t IsEventSelected(AliRsnEvent *event);
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)
65 ClassDef(AliRsnCutStd, 1)